티그공방 · generated.zip / generated1.zip 서버팩 자동 연동 1.1.0

운영자용 업데이트입니다. 유저에게 설치시키지 않습니다.
기존 .env, runtime, UUID 인증 플러그인, 화이트리스트를 보존합니다.

이미 자동 연동을 설치한 경우
기존 서버 매니저의 '프로그램 종료' 또는 '2-사이트 연결.cmd' 창 종료 후 Minecraft 서버를 정상 종료하세요.
새 서버 매니저 1.1.0을 실행해 자동 연결하면 플러그인과 없는 저사양 제외 정책을 설치합니다.
이 ZIP을 쓰는 경우에는 기존 연동 폴더에 덮어 푼 뒤 '0-서버팩 자동 설치.cmd'를 반드시 한 번 실행하세요.
설치가 끝나면 Minecraft 서버를 시작하고 매니저 또는 '2-사이트 연결.cmd'를 실행하세요.
JAR이 변경되어 Minecraft 서버 재시작이 한 번 필요합니다.

처음 한 번 설치하는 경우
1. 기존 '2-사이트 연결.cmd' 창을 닫고 Minecraft 서버를 정상 종료합니다.
2. 이 ZIP 안의 파일들을 기존 .env와 runtime 폴더가 있는 서버 연동 폴더에 덮어 풉니다.
   서버의 plugins 폴더에 ZIP 전체를 풀지 마세요.
3. '0-서버팩 자동 설치.cmd'를 실행합니다.
   감시할 generated.zip과 호환용 generated1.zip의 전체 경로와 설정 백업 위치를 표시합니다.
   ItemsAdder의 자동 팩 전송과 기본 서버팩 중복 전송만 끄고 TIGPackSync.jar를 설치합니다.
   이전에 제공한 개별 유저 팩 도구가 정확한 원본 확인값과 일치하면 백업 후 비활성화합니다.
   수정된 예외 스크립트는 임의로 지우지 않고 확인할 파일을 안내합니다.
4. generated.zip을 Minecraft 서버의 server.properties와 같은 폴더에 넣습니다.
   generated.zip이 없을 때는 기존 generated1.zip을 사용합니다. 둘 다 있으면 generated.zip이 우선입니다.
   사이트에 게시된 현재 팩도 아래 주소에서 generated.zip 이름으로 받을 수 있습니다.
   https://marinalicense.com/minecraft/downloads/generated.zip
5. Minecraft 서버를 시작한 뒤 기존 '2-사이트 연결.cmd'를 실행하고 창을 켜 둡니다.

앞으로는
- 서버 폴더의 generated.zip만 교체하면 됩니다. 이 파일이 없으면 generated1.zip을 사용합니다.
- 둘 다 있으면 generated.zip만 적용합니다. 수정 시각으로 파일을 임의 선택하지 않습니다.
- 원본 ZIP은 도구가 수정하거나 이름을 바꾸지 않습니다.
- 파일의 실제 내용 변경 → 안전한 복사본 → 사이트 구조/CRC 검증과 게시 → 서버 전송을 자동 처리합니다.
- 새로운 팩은 접속 중인 유저에게 다시 보내며, 이후 접속자에게도 같은 팩을 보냅니다.
- 정상 팩과 변경 없는 내용은 반복해서 게시/전송하지 않습니다.
- 수정 시각이 같아도 내용 변경을 찾습니다. 평상시에는 파일 정보로 확인하고 최대 30초마다 전체 내용도 검사합니다.
- 복사 중이거나 검증에 실패한 ZIP은 기존 정상 팩을 대체하지 않습니다. 네트워크 오류는 자동 복구합니다.
- 사이트에서 수동으로 다른 팩을 게시해 충돌하면 기존 파일을 되돌리지 않고 확인 상태를 표시합니다.
  선택된 서버팩 ZIP을 원하는 최신 파일로 다시 바꾸면 자동 배포를 이어갑니다.

저사양 사용자 선택
- 새 기본 정책 allow-low-spec-pack-opt-out: true는 저사양의 서버팩/ItemsAdder OFF 선택을 허용합니다.
- 저사양 제외 플레이어에게는 TIG 팩을 보내지 않고 이미 보낸 TIG UUID만 제거합니다.
- 저사양 ON은 선택형 팩으로 보내므로 거절해도 접속을 종료하지 않습니다.
- 일반 사용자의 required 설정과 기존 운영자 설정은 유지합니다. 명시 false 정책은 덮어쓰지 않습니다.
- false 정책과 required가 함께 켜져 있으면 해당 팩 거절 시 접속을 종료합니다. 화이트리스트 인증은 그대로입니다.
- 서버 콘솔 tigpacksync status의 optedOutPlayers와 매니저의 저사양 제외 수로 확인합니다.
- 새 매니저는 plugins/ItemsAdder/output/generated.zip을 직접 감시합니다. 아래 root ZIP 설명은 기존 CMD 연동용입니다.

확인
https://marinalicense.com/minecraft/admin
'서버 폴더 자동 배포'에서 감지/게시/서버 준비/클라이언트 응답 수를 확인합니다.
서버 콘솔의 tigpacksync status 도 현재 URL과 SHA1, 응답 집계를 표시합니다.
iasha1, iareload, iatexture 명령을 매번 입력할 필요는 없습니다.
TIGPackSync가 공통 팩 전송을 담당합니다. 이전 개별 전송이나 ItemsAdder 수동 전송을 함께 켜지 마세요.

Linux
기존 .env가 있는 연동 폴더에 같은 파일을 풀고 Node.js 24 이상으로 실행합니다.
Minecraft 서버를 종료한 상태에서 sh 0-install-serverpack.sh
서버를 시작한 뒤 sh 2-site-connect.sh

범위
이 ZIP은 클라이언트 리소스팩 자동 배포용입니다. ItemsAdder의 서버 아이템/레시피 정의를 ZIP에서 만들어 넣지는 않습니다.
실제 게임의 다운로드·적용 성공 응답을 구분하며 모든 PC의 그래픽 드라이버 오류를 대신 해결하지는 않습니다.
